#include <list>
#include "chardefs.h"
#include <string>

	struct ErrorInfo
	{
		int      lineNum;
		std::string   fileName;
		char	 fullErrDesc[1024];

		ErrorInfo()
		{
			lineNum = 0;
			fileName.clear();
			fullErrDesc[0] = '\0';
		}
	};

	class CompilationErrors
	{
	public:
		static void Add(int i_lineNum, std::string i_fileName, const char* i_fullErrDesc);
        static void Add(std::string i_errorString, int i_lineNum, std::string i_fileName, const char* i_fullErrDesc);
		static std::string GetErrorFullDesc();
		static int GetErrorFileLine();
		static std::string GetErrorFileName();
		static void Clear();

	private:
		static std::list<ErrorInfo> errorsList;
	};

